package zpx.model;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * �����������һ�����ݵķ�������
 * 
 * @author guolc
 * @param <T>
 */
@XmlRootElement(name = "Page")
@XmlAccessorType(XmlAccessType.FIELD)
public class Page<T> {

	/** ��ѯ������� */
	private int totalResult;

	/** ��ǰ��ѯ���ؽ���� */
	private List<T> results;

	/**
	 * ��ȡ��ѯ�������
	 * 
	 * @return int
	 */
	public int getTotalResult() {
		return totalResult;
	}

	/**
	 * ���ò�ѯ�������
	 * 
	 * @param totalResult
	 */
	public void setTotalResult(int totalResult) {
		this.totalResult = totalResult;
	}

	/**
	 * ��ȡ��ǰ��ѯ�����
	 * 
	 * @return List<T>
	 */
	public List<T> getResults() {
		return results;
	}

	/**
	 * ���õ�ǰ��ѯ�����
	 * 
	 * @param results
	 */
	public void setResults(List<T> results) {
		this.results = results;
	}

	/**
	 * ����Map���͵�ҳ���ѯ���
	 * 	total��ѯ������
	 * 	rows��ѯ�ĵ�ǰ�б�
	 * @return Map
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public Map getMapResult() {
		Map map = new HashMap();
		map.put("total", this.getTotalResult());
		map.put("rows", this.getResults());
		return map;
	}
}
